import { privacyChannel } from './privacyChannel';
import { privacyChannelWeb } from './privacyChannelWeb';

export class privacyChannelVivo1 extends privacyChannelWeb {


    paraMap: Map<String, string> = new Map([
        ['bannerId', '3f57fe57cb2e419686c5cad13bb40349'],
        ['interId', 'd7e4936e6858478a960fd0c737ec537f'],
        ['videoId', '027793d4935541d4a835dd7637da317c'],
        // ['htId', '1951116'],
        ['ctrlId', '67ea4ccbc8946b1700d960c8'],
        // ['gid', '674546ecc5b6582182fb7e6a'],
    ]);


    ruanzhu: string = '著作权人:南京天豆互动网络科技有限公司\n登记号:2022SR1186851';
    companyName: string = '南京天豆互动网络科技有限公司';
    gameName: string = '无双对决';

    privacyStr: Array<string> = [`更新日期: 2021年12月12日 生效日期: 2021年12月12日

        ${this.companyName}（（以下简称“天豆”或“我们”） 非常重视您的个人信息及隐私安全。 我们制定本“隐私政策”希望您在向我们提供某些信息（其中很可能包括您的个人信息）以及允许我们处理并分享某些信息之前，能够清晰地了解这些信息收集的目的、可能的用途以及其他方面的内容。本隐私政策可能会不时更新。建议您定期查阅本隐私政策，以了解任何相关变更。
        
        产品名称:
        
        《${this.gameName}》
        
        在此温馨提示您仔细阅读并理解本隐私政策。如果您有任何隐私方面的疑问，请使用以下联系方式:
        
        电子邮件: lpx@gamejym.com
        
        公司地址:南京建邺区嘉陵江东街50号康缘智慧港3栋602
        
        请您知悉，本政策仅适用于我们向您提供服务所收集的信息，不适用于通过接入我们产品或服务的第三方所收集的信息。
        
        请您仔细阅读并充分理解相关内容：
        
        为向您提供服务，我们将依据本隐私政策收集、使用、存储必要的信息。
        基于您的明示授权，我们可能会申请开启您的设备权限，您有权拒绝或取消授权。
        您可以访问、更正、删除您的个人信息，还可以撤回授权同意、注销账号、投诉举报以及调整其他隐私设置。
        我们已采取符合业界标准的安全防护措施保护您的个人信息。
        如您是未成年人，请您和您的监护人仔细阅读本隐私政策，并在征得您的监护人授权同意的前提下使用我们的服务或向我们提供个人信息。
        设备权限调用情况
        
        在您使用我们产品的过程中，我们需要在必要范围内向您申请获取设备权限。请您知悉，我们不会默认开启您设备的权限，仅在您主动确认开启的情况下，才有可能通过设备权限收集您的信息。调用的权限、调用权限的目的，以及调用权限前向您询问的情况如下：
        
        设备权限	调用权限的目的	是否询问	用户可否关闭权限
        联网能力及获取联网状态和Wi-Fi状态，以及网络相关信息, 如:IP地址、WLAN接入点(如SSID、BSSID等)	连接网络	是	可
        读取电话状态,获取设备标识信息,mac地址	识别用户，更好地保障用户数据服务	是	可
        读取和写入外部存储	下载并保存内容	是	可
        震动	用于提示用户或提供游戏体验	是	可
        其他权限	接入渠道SDK需要，详见下方	是	可
        如您在首次授权开启权限后希望关闭权限，您可以在设备的设置功能中选择关闭权限，从而拒绝我们收集相应的个人信息。
        
        第三方产品或服务如何获得您的个人信息
        
        为了向您提供更丰富和完整的功能，我们可能会使用下述第三方软件开发工具包（简称“SDK”）为您提供服务。SDK的具体信息收集和使用情况请以SDK运营方的隐私政策或相关声明为准。
        
        SDK名称	SDK提供方名称	SDK使用目的	SDK收集的信息	隐私政策链接
        个推SDK	每日互动股份有限公司	推送消息	设备标识信息、mac地址、应用列表	http://docs.getui.com/privacy
        友盟SDK	友盟同欣（北京）科技有限公司	统计分析、推送消息	设备标识信息、应用列表、mac地址	https://www.umeng.com/policy
        QQ开放平台登录分享SDK	深圳市腾讯计算机系统有限公司	接入QQ开放平台SDK，支持QQ授权登录和QQ分享	设备标识信息、mac地址	https://ti.qq.com/agreement/qqface.html?appname=mqq_2019,https://privacy.tencent.com/
        微信开放平台SDK	深圳市腾讯计算机系统有限公司	接入微信开放平台SDK，支持微信授权登录、微信分享和微信支付	设备标识信息、mac地址	https://weixin.qq.com/cgi-bin/readtemplate?lang=zh_CN&t=weixin_agreement&s=privacy
        腾讯buglySDK	深圳市腾讯计算机系统有限公司	Bug排查	未共享数据	https://bugly.qq.com/v2/contract
        Mintegral SDK	广州汇世信息科技有限公司	提供第三方广告服务	未共享数据	https://www.mintegral.com/cn/sdk
        msa_mdid移动安全联盟SDK	移动安全联盟	提供安全服务	未共享数据	http://msa-alliance.cn/col.jsp?id=120
        魅族推送SDK	魅族科技有限公司	推送消息	设备标识信息、mac地址	https://i.flyme.cn/privacy
        小米推送SDK	北京小米科技有限责任公司	推送消息	设备标识信息	https://www.mi.com/about/new-privacy
        华为推送SDK	华为技术有限公司	推送消息	设备标识信息	https://www.huawei.com/cn/privacy-policy
        支付宝SDK	,支付宝网络技术有限公司	支付宝支付	设备标识信息、mac地址	https://render.alipay.com/p/c/k2cx0tg8, https://render.alipay.com/p/c/k2h4n8ug
        七陌客服	北京容联七陌科技有限公司	提供在线客服功能	设备标识信息、mac地址	http://m.7moor.com/72/57/p5077783560e807/
        穿山甲	北京巨量引擎网络技术有限公司	提供第三方广告服务	设备标识信息、mac地址	https://www.pangle.cn/privacy?from=partner.oceanengine.com&
        数据发现者	北京智道未来网络科技有限公司	提供第三方数据分析,统计服务	设备标识信息、mac地址	https://datarangers.com.cn/help/doc?lid=1584&did=10959
        个像	,每日互动股份有限公司	提供用户画像	设备标识信息、mac地址、应用列表	https://www.getui.com/privacy
        TalkingData	北京腾云天下科技有限公司	应用统计分析	设备标识信息、mac地址、应用列表	http://www.talkingdata.com/safety.jsp?languagetype=zh_cn
        热云	,北京热云科技有限公司	反作弊识别、优化广告投放、设备行为统计等	相关设备信息、IP地址、虚拟交易相关信息等。	https://www.trackingio.com/policy.html
        展心展力SDK	北京展心展力信息科技有限公司	用户实名认证以及广告播放	设备标识信息、mac地址、法律规定的用户必要信息	https://webcdn.233xyx.com/app/userAgreement/metax/certification.html,https://webcdn.233leyuan.com/app/explain/certificationsteps/index.html,http://dwz.date/dP9Z,http://dwz.date/dP9U
        融云SDK	北京云中融信网络科技有限公司	推送消息、聊天消息	设备标识信息、mac地址	https://docs.rongcloud.cn/v4/views/im/noui/intro/privacy.html
        阿里云存储	阿里云计算有限公司	文件存储	设备标识信息、mac地址	http://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201902141711_54837.html?spm=5176.19720258.J_9220772140.88.4a4d2c4aRtjV7V
        快手	北京快手科技有限公司	提供第三方广告服务	设备标识信息、mac地址	https://www.kuaishou.com/about/policy?tab=privacy
        闲玩	,闲玩科技有限公司	提供第三方游戏服务	设备标识信息、mac地址	http://h5.17xianwan.com/static/agreementIntroXW.html
        数盟sdk	北京数字联盟网络科技有限公司	安全风控、检测设备欺诈与作弊行为、识别反馈设备的真实性和唯一性	设备制造商、设备型号、设备系统版本、应用版本、软件列表、MAC地址、唯一设备识别码、设备网络状况信息及其他设备物理环境信息设备基本情况信息	https://www.shuzilm.cn/privacy.html
        抖音SDK	北京微播视界科技有限公司	分享内容至抖音共享	设备标识信息、mac地址	https://www.douyin.com/agreements/?id=6773901168964798477
        听云APMSDK	,北京基调网络股份有限公司	接入听云SDK，监测APP性能指标，以便于优化APP的性能	设备标识信息、mac地址	https://www.tingyun.com/legal_declaration.html
        声网Agora SDK	上海兆言网络科技有限公司	语音互动聊天 设备标识信息	麦克风权限	https://www.agora.io/cn/privacy-policy/
        腾讯优量汇广告	深圳市腾讯计算机系统有限公司	用户体验和数据优化	用户/设备ID、粗略位置	https://imgcache.qq.com/gdt/cdn/adn/uniondoc/ylh_sdk_privacy_statement.html
        今日头条激励广告	北京字节跳动科技有限公司	广告投放合作	/广告归因/反作弊 用户/设备ID、粗略位置	https://www.pangle.cn/privacy/partner
        高德定位SDK	高德软件有限公司	定位服务	位置信息	https://lbs.amap.com/pages/privacy/
        1. 如何收集和使用个人信息
        
        我们会按照如下方式收集您在使用服务时主动提供的，以及通过自动化手段收集您在使用功能或接受服务过程中产生的信息：
        
        1.1 注册、登录
        
        当您注册时我们会收集您的昵称、头像、手机号码、邮箱等，收集这些信息是为了帮助您完成注册保护您的帐号安全。手机号码属于敏感信息，收集此类信息是为了满足相关法律法规的网络实名制要求。若您不提供这类信息，您可能无法正常使用我们的服务。
        您也可以使用微信、邮箱或者各平台ID登录并使用，您将授权我们获取您在第三方平台注册的公开信息（头像、昵称以及您授权的其他信息），使您可以直接登录并使用本产品和相关服务。
        1.2 认证
        
        在您使用身份认证的功能或服务时，根据相关法律法规，您可能需要提供您的真实身份信息：真实姓名、身份证号码、电话号码以完成实名验证。 这些信息属于个人敏感信息，您可以拒绝提供，但您将可能无法获得相关服务。
        
        1.3 信息发布
        
        您发布内容时，我们将收集您发布的信息，并展示您的昵称、头像、发布内容。
        
        1.4 安全运行
        
        1.4.1 安全保障功能
        
        我们致力于为您提供安全、可信的产品与使用环境，提供优质而可靠的服务是我们的核心目标。为实现安全保障功能所收集的信息是必要信息。
        
        1.4.2 日志信息
        
        为了保障软件与服务的安全运行，我们会收集您的操作、使用、服务日志。
        
        1.5 收集、使用个人信息目的变更
        
        原则上，当新功能或服务与我们当前提供的功能或服务相关时，收集与使用的个人信息将与原处理目的具有直接或合理关联。在与原处理目的无直接或合理关联的场景下，我们收集、使用您的个人信息，会再次进行告知，并征得您的同意。
        
        1.6 依法豁免征得同意收集和使用的个人信息
        
        请您理解，在下列情形中，根据法律法规及相关国家标准，我们收集和使用您的个人信息无需征得您的授权同意：
        
        与国家安全、国防安全直接相关的；
        与公共安全、公共卫生、重大公共利益直接相关的；
        与犯罪侦查、起诉、审判和判决执行等直接相关的；
        出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的；
        所收集的您的个人信息是您自行向社会公众公开的；
        从合法公开披露的信息中收集的您的个人信息的，如合法的新闻报道、政府信息公开等渠道；
        根据您的要求签订或履行合同所必需的；
        用于维护软件及相关服务的安全稳定运行所必需的，例如发现、处置软件及相关服务的故障；
        为合法的新闻报道所必需的；
        学术研究机构基于公共利益开展统计或学术研究所必要，且对外提供学术研究或描述的结果时，对结果中所包含的个人信息进行去标识化处理的；
        法律法规规定的其他情形。
        2.对 Cookie 和同类技术的使用
        
        我们可能会设置认证与保障安全性的Cookie或匿名标识符，以确认您是否安全登录服务，在确认您已正常登录的情况下才会向您提供服务，从而避免账号盗用、信息泄露等情况发生。
        使用Cookie可以帮助您省去重复填写个人信息、输入搜索内容的步骤和流程。
        您可以在浏览器“设置”功能中进行Cookie数据清除。如您进行清除，您可能无法使用我们提供的依赖于Cookie的相关服务和功能，但不影响其他功能与服务的正常使用。
        3.我们如何共享、转让、公开披露个人信息
        
        3.1共享
        
        我们不会共享您的个人信息给任何其他第三方，除非征得您的明确同意。
        
        3.2 转让
        
        我们不会转让您的个人信息给任何其他第三方，除非征得您的明确同意。
        随着我们业务的持续发展，我们将有可能进行合并、收购、资产转让，您的个人信息有可能因此而被转移。在发生前述变更时，我们将按照法律法规及不低于本隐私政策所载明的安全标准要求继受方保护您的个人信息，否则我们将要求继受方重新征得您的授权同意。
        3.3 披露
        
        我们不会公开披露您的信息，除非遵循国家法律法规规定或者获得您的同意。我们公开披露您的个人信息会采用符合行业内标准的安全保护措施.
        对违规帐号、欺诈行为进行处罚公告时，我们会披露相关帐号的信息。
        “寻人”、“追逃”等公益项目，经根据符合法律法规的规定和明确授权后，我们会公开披露与事件相关的信息。当事件结束后，我们将及时删除已披露的个人敏感信息。
        3.4 依法豁免征得同意共享、转让、公开披露的个人信息
        
        请您理解，在下列情形中，根据法律法规及国家标准，我们共享、转让、公开披露您的个人信息无需征得您的授权同意：
        
        与国家安全、国防安全直接相关的；
        与公共安全、公共卫生、重大公共利益直接相关的；
        与犯罪侦查、起诉、审判和判决执行等直接相关的；
        出于维护您或其他个人的生命、财产等重大合法权益但又很难得到本人同意的；
        您自行向社会公众公开的个人信息；
        从合法公开披露的信息中收集个人信息的，如合法的新闻报道、政府信息公开等渠道。
        4.我们如何存储个人信息
        
        4.1 存储地点
        
        我们会按照法律法规规定，将境内收集的用户个人信息存储于中国境内。
        
        4.2 存储期限
        
        我们仅在提供服务期间保留您的个人信息；您发布的内容在您未删除或注销帐号期间会予以保留。超出必要期限后，您的个人信息会被删除或匿名化处理，但法律法规另有规定的除外。
        
        5.我们如何保护个人信息的安全
        
        我们努力为用户的信息和隐私安全提供包保障，防止信息的丢失、不当使用、未经授权访问或披露。
        我们会以业界成熟的安全标准收集、使用、存储和传输用户信息：例如在进行网络传输时会对个人信息进行加密存储（SSL、md5等）。存在于Cookie里的个人安全认证信息也会被进行加密和混淆处理。
        我们会建立专门的安全部门、安全管理制度和数据安全流程来保障您的个人信息安全。采取严格的数据访问和使用制度，确保只有授权人员才能访问您的个人信息，并适时对数据和技术进行安全审计。
        我们会制定应急处理预案，并在发生用户信息安全事件时立即启动应急预案，努力阻止安全事件的影响扩大。一旦发生用户信息安全事件（泄露、丢失），我们将按照法律法规的要求及时向您告知。
        6.管理您的个人信息
        
        我们非常重视您对个人信息的管理，并尽全力保护您对于您个人信息的查询、访问、修改、删除、撤回同意授权、注销帐号、投诉举报以及设置隐私功能的相关权利，以使您有能力保障您的隐私和信息安全。
        
        6.1 访问、删除、更正您的个人信息
        
        6.1.1 访问、修改个人帐号信息
        
        您可以查询、访问您的头像、用户名、简介，并且可以在我们产品的“帐号中心”中修改您的头像、简介。
        
        6.1.2 删除发布的内容
        
        删除发布内容：进入我们产品“内容管理”—点击文章右侧“操作”下的“下线”按钮。
        特别提示您注意，出于安全性和身份识别（如号码申诉服务）的考虑，您可能无法自主修改注册时提交的某些初始注册信息。如您确有需要修改该类注册信息，请根据本隐私政策载明的联系方式联系我们。
        6.2 注销帐号
        
        您可以通过发送请求注销帐号的邮件至 lpx@gamejym.com申请注销帐号。在您注销帐号前，我们将验证您的个人身份、安全状态、设备信息等。注销帐号的行为是不可逆的行为，当您注销帐号后，我们将删除您的相关信息或将您的信息进行匿名化处理，但法律法规另有规定的除外。
        
        6.3 投诉举报
        
        如果您认为您的个人信息权利可能受到侵害，或者发现侵害个人信息权利的线索，请通过以下邮箱地址 lpx@gamejym.com 联系我们。我们核查后会及时处理您的投诉举报。
        
        6.4 访问隐私政策
        
        您可以在产品注册,登录,设置,关于等界面查看本隐私政策的全部内容。
        
        6.5 停止运营向您告知
        
        如我们停止运营，我们将及时停止收集您个人信息的活动，将停止运营的通知以公告的形式通知您，并对所持有的您的个人信息进行删除或匿名化处理。
        
        7.未成年人条款
        
        我们产品主要面向成年人。若您是未满18周岁的未成年人，在使用本产品及相关服务前，应在您的父母或其他监护人监护、指导下共同阅读并同意本隐私政策。
        如您的监护人不同意您按照本政策使用我们的服务或向我们提供信息，请您立即终止使用我们的服务并及时通知我们，以便我们采取相应的措施。
        若您是未成年人的监护人，当您对您所监护的未成年人的个人信息有相关疑问时，请通过本隐私政策公示的联系方式与我们联系。
        8.隐私政策的修订和通知
        
        我们会适时对本隐私政策进行修订，如该等变更会导致您在本政策项下权利的实质减损，我们会在变更生效前在页面显著位置通知您。
        若您不同意该等变更可以停止使用我们的产品，若您继续使用我们的产品或服务，即表示您同意受修订后的本隐私政策的约束。`,


    //用户协议
    `更新日期: 2021年12月12日 生效日期: 2021年12月12日
    
        欢迎您使用由${this.companyName} 提供的服务。
        
        本《用户服务协议》（以下称“本协议”）是用户（以下称“您”）接受${this.companyName}（以下简称为“本公司”）所提供的服务所使用的法律服务条款。 本公司在此特别提醒您认真阅读本协议的全部条款，特别是其中免除或者限制本公司责任的免责声明条款以及用户须遵守的条款和其它限制用户权利的条款，这些条款应在中国法律所允许的范围内最大程度地适用。除非用户 接受本协议的全部条款，否则无权安装运行客户端软件或以其它方式使用本公司提供的任何服务内容。
        
        当您在线点击“同意”或“接受”后，则视为您已详细阅读并同意本协议的全部内容，并同意遵守本协议的规定。
        
        如果您未满18周岁，请在法定监护人的陪同下阅读本协议。
        
        一、特别提示
        
        本公司同意按照本协议的规定及其不时发布的操作规则提供基于互联网的相关 服务(以下称“网络服务”)，为获得网络服务，您同意本协议的全部条款并按照页面上的提示完成全部程序。您在进行程序过程中点击“同意”按钮即表示用户完全接受本协议项下的全部条款。这些条款可由本公司随时更新，协议条款一旦发生变动，本公司将会在相关的页面上提示变更内容。修改后的协议一旦在页面上公布即有效代替原来的协议。您在使用本公司提供的软件产品之前，应仔细阅读本协议，如不同意本服务协议及或随时对其的修改，请停止使用本公司提供的服务内容。
        特别申明，未成年人应在法定监护人的陪同下审阅和接受本协议。未成年人在使用本公司的服务前，应事先取得父母（监护人）的同意。若父母（监护人）希望未成年人（尤其是十岁以下子女）得以使用本服务，必须以法定监护人身份加以判断本服务是否符合于未成年人。未成年人用户应当在合理程度内使用本公司提供的服务内容，不得因使用本公司提供的服务内容而影响了日常的学习生活。用户理解本公司无义务对本款前述事项进行任何形式的审查和确认。
        二、权属声明
        
        本公司发布的所有软件均受中华人民共和国版权法保护，用户可以免费下载并使用，但未经本公司许可，用户不得修改本公司游戏的客户端程序；不得制作、传播或使用扰 乱正常游戏秩序或有损本公司利益的任何第三方软件。
        本公司游戏服务的经营权属于本公司所有，除非与本公司另签协议，用户同意本服务仅供个人且仅于本服务平台范围内非商业性质的使用。用户同时承诺不经本公司书面同意，不得利用本服务进行广告、销售、商业展示等商业性用途。
        用户发表于本公司游戏及配套网站的所有内容仅代表用户自己的立场和观点，与本公司无关，由用户本人承担一切法律责任。
        三、用户隐私制度
        
        本公司绝对不会修改用户的个人资料，或编辑或透露用户在注册资料中的密码、姓名、地址、电话、身份证号码及保存在本公司中的非公开内容，除非有法律许可要求或本公司在诚信的基础上认为透露这些信息在以下四种情况是必要的：
        
        遵守有关法律规定，遵从合法服务程序。
        维护本公司的商标所有权。
        在紧急情况下竭力维护用户个人和社会大众的隐私安全。
        符合其他相关的要求。
        四、游戏数据的特别规定
        
        本公司严禁以下行为：
        
        发布违法信息、严重违背社会公德、以及其他违反法律禁止性规定的行为；
        利用游戏作弊工具或者外挂、游戏BUG获取非法利益，严重侵犯本公司利益的行为；
        论坛、游戏中传播非法讯息、木马病毒、外挂软件等的行为；
        因游戏中举办的活动结束，相关道具被删除或兑换，用户不得提出索赔等要求，本公司对于活动有最终的解释权。
        五、服务的停止和更改
        
        发生下列情形之一时，本公司有权停止或中断向用户提供的服务：
        用户有发布违法信息、严重违背社会公德、以及其他违反法律禁止性规定的行为；
        发布不道德信息、广告、言论、辱骂骚扰他人，扰乱正常的网络秩序和游戏秩序的行为，以及实施违反本协议和相关规定、管理办法、公告、重要提示，对本公司和其他用户利益造成损害的其他行为；
        由于相关政府机构的要求。
        在本服务条款约定的情形下，本公司就停止或更改或终止向用户所提供的服务而可能产生的不便或损害，本公司对用户本人或任何第三人均不负任何损害赔偿责任。
        本公司有权仅根据其判断，单方决定新增、修改、删除、暂停或终止其所提供的全部或部分服务（包括且不限于增加、暂停或终止某个游戏的运营），且无需另行个别通知用户，用户不得因此要求任何补偿或赔偿。
        本公司对其服务不保证不出现任何程序BUG，并对由此可能产生的问题不承担任何赔偿责任。
        六、服务条款的修改
        
        本公司保留随时修改本服务条款的权利，修改本服务条款时，本公司将于相关网站公告修改的事实，而不另对用户进行个别通知。若用户不同意修改的内容，可停止使用本公司的服务。若用户继续使用本公司的服务，即视为用户已接受本公司所修订的内容。
        
        七、法律适用和争议解决
        
        本协议的订立、执行和解释及争议的解决均应适用中国法律。
        本协议构成双方对本协议之约定事项及其他有关事宜的完整协议，除本协议规定的之外，未赋予本协议各方其他权利。
        如本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力，本协议的其余条款仍应有效并且有约束力。
        本协议中的标题仅为方便而设，不具法律或契约效果。
        如双方就本协议内容或其执行发生任何争议，双方应尽量友好协商解决；协商不成时，任何一方均可向本公司所在地的人民法院提起诉讼。
        在适用法律允许的最大范围内，本公司保留对本协议的最终解释权。用户如对本协议有任何疑问，请联系lpx@gamejym.com。
        `];
    exit(): void {
        this.channelObj.exitApplication();
    }

    getSysInfo() {

        if (!this.sysInfo) {
            try {
                this.sysInfo = this.channelObj.getSystemInfoSync();
            }

            catch {

            }
        }
        return this.sysInfo;
    }
    init() {


        const me = this;
        // 
        const ctrlId = me.getPara('ctrlId');
        console.error("===> init: ctrlId: ", ctrlId);
        if (ctrlId) {
            try {
                let query = me.channelObj.getLaunchOptionsSync().query;
                console.error("启动参数展示: ", JSON.stringify(query))
                if (query && query.path && query.path.indexOf("key=fromid") >= 0) {
                    console.error("买量用户");
                    this.isBuyUser = true;
                } else {
                    console.error("不是买量用户");
                }
            }
            catch (e) {
                console.error("买量环境错误", JSON.stringify(e))
            }
            let reqData = null
            let sid = localStorage.getItem('__sid');
            if (!sid && me.channelObj && me.channelObj.getLaunchOptionsSync) {
                const lObj = me.channelObj.getLaunchOptionsSync();
                if (lObj && lObj.scene) {
                    sid = lObj.scene;
                    localStorage.setItem('__sid', sid);
                }
            }
            if (this.isBuyUser) {
                reqData = {
                    'id': ctrlId,
                    'fromid': 1,
                }
            } else {
                reqData = {
                    'id': ctrlId
                }
            }
            console.error("请求数据: jpost ");
            //const reqData = { 'id': ctrlId, sid };
            privacyChannel.jpost('https://ga.gametdd.com/adCtrl/agd/conf', reqData, (err, re) => {
                if (err) {
                    console.error("错误: ", err);
                    return;
                }
                if ('' + re.code !== '0') {
                    console.error('返回值错误:' + JSON.stringify(re));
                    return;
                }
                me.ctrl = re.data;
                console.error('====>返回', me.ctrl);
            });
        }
    }

    showVideo(succ, end = null) {
        if (cc.sys.platform == cc.sys.DESKTOP_BROWSER) {
            console.error("播放广告")
            succ();
            return
        }
        const id = this.getPara('videoId');
        if (!id) {
            return;
        }

        console.error('====>showVideo vivo');
        try {
            cc.game.pause();

            const rewardedAd = window['qg'].createRewardedVideoAd({
                posId: id,
            });
            rewardedAd.onError(err => {
                console.log("激励视频广告加载失败", err);
                cc.game.resume();
                privacyChannel.toast('暂无广告');
            });
            rewardedAd.onLoad(function (res) {
                console.log('激励视频广告加载完成-onload触发', JSON.stringify(res));
                rewardedAd.show().then(() => {
                    console.log('激励视频广告展示完成');
                }).catch((err) => {
                    console.log('激励视频广告展示失败', JSON.stringify(err));
                    cc.game.resume();
                    privacyChannel.toast('暂无广告');
                })
            })

            rewardedAd.onClose((res) => {
                cc.game.resume();
                end && end();
                console.log('视频广告关闭回调')
                if (res && res.isEnded) {
                    console.log("正常播放结束，可以下发游戏奖励");
                    succ();
                } else {
                    console.log("播放中途退出，不下发游戏奖励");
                }
            });

        } catch (e) {
            console.error('videoERR', e);
            cc.game.resume();
        }
    }

    private insertAD: any = null;

    doShowInter(id: string, isBanner: boolean = false, style?: any) {
        const height = (isBanner) ? cc.view.getVisibleSize().height / 2 - 100 : cc.view.getVisibleSize().height / 2 + 230;
        const conf = {
            posId: id,
            style: {
                top: height,
            }
        }

        if (style) {
            conf.style = style;
        }
        console.error("======>doshowInter", isBanner, height)
        if (this.insertAD) {
            //不能同时显示两个
            this.insertAD.destroy()
            console.error('原生板正在显示，不能重复显示', "已经删除");

        }
        const me = this;
        this.insertAD = me.channelObj.createCustomAd(conf);
        // me.insertAD.offHide();
        // me.insertAD.onHide(() => {
        //     console.error('原生板隐藏，删除原始板');
        //     me.insertAD.destroy();
        //     me.insertAD = null;
        //     // me.insertAD = me.channelObj.createCustomAd(conf);
        // });
        me.insertAD.offClose()
        me.insertAD.onClose(() => {
            console.error('原生板删除，删除原始板');
            me.insertAD.destroy();
            me.insertAD = null;
        })
        me.insertAD.offError();
        me.insertAD.onError(err => {
            console.error('原生模板广告加载失败' + JSON.stringify(err));
            me.insertAD = null;
        });
        me.insertAD.show().then(() => {
            console.log('原生模板广告展示完成');
        }).catch((err) => {
            console.log('原生模板广告展示失败' + JSON.stringify(err));
            me.insertAD = null;
        });
    }
    showUnqiueInter(isBanner: boolean = false, style?: any) {
        const id = this.getPara('interId');
        if (!id) {
            return;
        }
        // 插屏广告弹出页面
        // 在所有二级页面概率弹出
        // 0为关闭，1为开启
        // if (!this.getCtrl('p1')) {
        //     return;
        // }
        //控制所有二级页面插屏弹出的概率,单位为百分比
        // if (Math.random() > this.getCtrl('p2') / 100) {
        //     return;
        // }
        console.error('====>showInter');

        //原生插屏延迟
        const p14 = this.getCtrl('p14');
        const me = this;
        setTimeout(() => {
            try {
                me.doShowUniqueInter(id, isBanner, style);
            } catch {
                console.error("不是vivo")
            }

        }, p14 * 500);
    }
    showInter(isBanner: boolean = false, style?: any) {
        const id = this.getPara('interId');
        if (!id) {
            return;
        }
        // 插屏广告弹出页面
        // 在所有二级页面概率弹出
        // 0为关闭，1为开启
        // if (!this.getCtrl('p1')) {
        //     return;
        // }
        //控制所有二级页面插屏弹出的概率,单位为百分比
        // if (Math.random() > this.getCtrl('p2') / 100) {
        //     return;
        // }
        console.error('====>showInter');

        //原生插屏延迟
        const p14 = this.getCtrl('p14');
        const me = this;
        setTimeout(() => {
            try {
                me.doShowInter(id, isBanner, style);
            } catch {
                console.error("不是vivo")
            }

        }, p14 * 500);
    }

    doShowUniqueInter(id: string, isBanner: boolean = false, style?: any) {
        const height = (isBanner) ? cc.view.getVisibleSize().height / 2 : cc.view.getVisibleSize().height / 2 + 230;
        const conf = {
            posId: id,
            style: {
                top: height,
            }
        }
        if (style) {
            conf.style = style;
        }
        if (this.insertAD) {
            //不能同时显示两个
            console.error('原生板正在显示，不能重复显示');
            return;
        }
        const me = this;
        this.insertAD = me.channelObj.createCustomAd(conf);
        // me.insertAD.offHide();
        // me.insertAD.onHide(() => {
        //     console.error('原生板隐藏，删除原始板');
        //     cc.resources.load("kuangDian/kuangDian", cc.Prefab, (error, assert: cc.Prefab) => {
        //         if (error) {
        //             console.error(error);
        //             return;
        //         }
        //         let node = cc.instantiate(assert);
        //         cc.director.getScene().getChildByName('Canvas').getChildByName("UI").addChild(node);
        //     });
        //     me.insertAD.destroy();
        //     me.insertAD = null;
        //     // me.insertAD = me.channelObj.createCustomAd(conf);
        // });
        me.insertAD.offClose()
        me.insertAD.onClose(() => {
            console.error('原生板删除，删除原始板');
            cc.resources.load("kuangDian/kuangDian", cc.Prefab, (error, assert: cc.Prefab) => {
                if (error) {
                    console.error(error);
                    return;
                }
                let node = cc.instantiate(assert);
                cc.director.getScene().getChildByName('Canvas').getChildByName("UI").addChild(node);
            });
            me.insertAD.destroy();
            me.insertAD = null;
        })
        me.insertAD.offError();
        me.insertAD.onError(err => {
            console.error('原生模板广告加载失败' + JSON.stringify(err));
            me.insertAD = null;
        });
        me.insertAD.show().then(() => {
            console.log('原生模板广告展示完成');
        }).catch((err) => {
            console.log('原生模板广告展示失败' + JSON.stringify(err));
            me.insertAD = null;
        });
    }

    showStyleInter(id: number) {
        console.error("===>showStyleInter");
        let style = {
            top: this.getSysInfo().windowHeight / 2 + 200
        };
        this.showInter(false, style);
    }


    closeInter() {

        console.error('====>closeInter');
        if (this.insertAD) {
            this.insertAD.destroy();
        }
    }

    showBanner() {
        const id = this.getPara('bannerId');
        if (!id) {
            return;
        }
        console.error('====>showBanner');
        const bannerAd = this.channelObj.createBannerAd({ 'posId': id });
        bannerAd.onError(err => {
            console.log('banner广告加载失败' + JSON.stringify(err));
        });
        bannerAd.show().then(() => {
            console.log('banner广告展示完成');
        }).catch((err) => {
            console.log('banner广告展示失败' + JSON.stringify(err));
        });
        bannerAd.onHide(() => {
            console.log('banner广告隐藏');
        });
    }

    showHt() {

    }
    button = null
    button1 = null
    createShortcutButton() {
        const me = this;

        me.button = me.channelObj.createShortcutButton({
            type: 'image',
            style: {
                left: this.getSysInfo().screenWidth - 28 - 100,
                top: 750,
                width: 100,
                height: 100
            }
        })

        var startHandler = function (data) {
            console.log(data)
            me.button.hide()
            me.button1.hide()
        };
        me.button.onTap(startHandler)

    }


    createShortcutButtonResistance() {
        const me = this;
        me.button1 = me.channelObj.createShortcutButton({
            type: 'image',
            image: "assets/texture/sideBar/logo.png",
            style: {
                left: this.getSysInfo().screenWidth - 28 - 100,
                top: 100,
                width: 50,
                height: 50
            }
        })

        var startHandler = function (data) {
            console.log(data)
            me.button1.hide()
            me.button.hide()
        };
        me.button1.onTap(startHandler)

    }
    showButton() {
        if (cc.sys.platform == cc.sys.DESKTOP_BROWSER) {
            return
        }
        this.button.show()
    }
    hideButton() {
        if (cc.sys.platform == cc.sys.DESKTOP_BROWSER) {
            return
        }
        this.button.hide()
    }

    hasShortcutInstalled(end) {
        if (cc.sys.platform == cc.sys.DESKTOP_BROWSER) {
            return
        }
        const me = this;
        me.channelObj.hasShortcutInstalled({
            success: function (status) {
                if (status) {
                    end && end(true)
                    console.log('已创建')
                } else {
                    end && end(false)
                    console.log('未创建')
                }
            }
        })

    }

    installShortcut() {
        if (cc.sys.platform == cc.sys.DESKTOP_BROWSER) {
            return
        }
        const me = this;
        me.channelObj.installShortcut({
            success: function () {
                console.log('创建成功')
                me.button1.hide()
                me.button.hide()
            }
        })

    }

}